home *** CD-ROM | disk | FTP | other *** search
/ Over 1,000 Windows 95 Programs / Over 1000 Windows 95 Programs (Microforum) (Disc 1).iso / 1271 / selftest.frm (.txt) < prev    next >
Encoding:
Visual Basic Form  |  1997-02-19  |  6.8 KB  |  257 lines

  1. VERSION 2.00
  2. Begin Form Selftest 
  3.    AutoRedraw      =   -1  'True
  4.    Caption         =   "Self Test"
  5.    ClientHeight    =   4020
  6.    ClientLeft      =   1770
  7.    ClientTop       =   1935
  8.    ClientWidth     =   7365
  9.    FontBold        =   -1  'True
  10.    FontItalic      =   0   'False
  11.    FontName        =   "Courier New"
  12.    FontSize        =   8.25
  13.    FontStrikethru  =   0   'False
  14.    FontUnderline   =   0   'False
  15.    Height          =   4710
  16.    Left            =   1710
  17.    LinkTopic       =   "Form1"
  18.    ScaleHeight     =   4020
  19.    ScaleWidth      =   7365
  20.    Top             =   1305
  21.    Width           =   7485
  22.    Begin Menu menuInstruct 
  23.       Caption         =   "Instructions"
  24.    End
  25.    Begin Menu menuSettings 
  26.       Caption         =   "Settings"
  27.       Begin Menu menu1stPort 
  28.          Caption         =   "1st Port"
  29.          Begin Menu menu1stCOM1 
  30.             Caption         =   "COM1"
  31.          End
  32.          Begin Menu menu1stCOM2 
  33.             Caption         =   "COM2"
  34.          End
  35.          Begin Menu menu1stCOM3 
  36.             Caption         =   "COM3"
  37.          End
  38.          Begin Menu menu1stCOM4 
  39.             Caption         =   "COM4"
  40.          End
  41.       End
  42.       Begin Menu menu2ndPort 
  43.          Caption         =   "2nd Port"
  44.          Begin Menu menu2ndCOM1 
  45.             Caption         =   "COM1"
  46.          End
  47.          Begin Menu menu2ndCOM2 
  48.             Caption         =   "COM2"
  49.          End
  50.          Begin Menu menu2ndCOM3 
  51.             Caption         =   "COM3"
  52.          End
  53.          Begin Menu menu2ndCOM4 
  54.             Caption         =   "COM4"
  55.          End
  56.       End
  57.    End
  58.    Begin Menu menuTest 
  59.       Caption         =   "Test"
  60.    End
  61.    Begin Menu menuExit 
  62.       Caption         =   "Exit"
  63.    End
  64. ' SELFTEST.BAS
  65. Option Explicit
  66. Sub Form_Load ()
  67. Dim X As String
  68.    The1stPort = COM1
  69.    The2ndPort = COM2
  70.    menu1stCOM1.Checked = True
  71.    menu2ndCOM2.Checked = True
  72.    TestString = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
  73.    Call ShowCaption
  74. End Sub
  75. Sub Instruct_Click ()
  76. End Sub
  77. Sub menu1stCOM1_Click ()
  78.     The1stPort = COM1
  79.     Call Uncheck1stComPorts
  80.     menu1stCOM1.Checked = True
  81.     Call ShowCaption
  82. End Sub
  83. Sub menu1stCOM2_Click ()
  84.     The1stPort = COM2
  85.     Call Uncheck1stComPorts
  86.     menu1stCOM2.Checked = True
  87.     Call ShowCaption
  88. End Sub
  89. Sub menu1stCOM3_Click ()
  90.     The1stPort = COM3
  91.     Call Uncheck1stComPorts
  92.     menu1stCOM3.Checked = True
  93.     Call ShowCaption
  94. End Sub
  95. Sub menu1stCOM4_Click ()
  96.     The1stPort = COM4
  97.     Call Uncheck1stComPorts
  98.     menu1stCOM4.Checked = True
  99.     Call ShowCaption
  100. End Sub
  101. Sub menu2ndCOM1_Click ()
  102.     The2ndPort = COM1
  103.     Call Uncheck2ndComPorts
  104.     menu2ndCOM1.Checked = True
  105.     Call ShowCaption
  106. End Sub
  107. Sub menu2ndCOM2_Click ()
  108.     The2ndPort = COM2
  109.     Call Uncheck2ndComPorts
  110.     menu2ndCOM2.Checked = True
  111.     Call ShowCaption
  112. End Sub
  113. Sub menu2ndCOM3_Click ()
  114.     The2ndPort = COM3
  115.     Call Uncheck2ndComPorts
  116.     menu2ndCOM3.Checked = True
  117.     Call ShowCaption
  118. End Sub
  119. Sub menu2ndCOM4_Click ()
  120.     The2ndPort = COM4
  121.     Call Uncheck2ndComPorts
  122.     menu2ndCOM4.Checked = True
  123.     Call ShowCaption
  124. End Sub
  125. Sub menuDebug_Click ()
  126. Dim Code As Integer
  127. Call ShutDown
  128. End Sub
  129. Sub menuExit_Click ()
  130.   End
  131. End Sub
  132. Sub menuInstruct_Click ()
  133. SELFTEST.Cls
  134. SELFTEST.Print "SELFTEST can operate in one of two ways:"
  135. SELFTEST.Print
  136. SELFTEST.Print "1] A single port with a loopback adapter on the end."
  137. SELFTEST.Print "   The adapter should have TD & RD tied together."
  138. SELFTEST.Print
  139. SELFTEST.Print "2] Two serial ports on the same computer."
  140. SELFTEST.Print "   Connect the two ports together using a Null Modem Cable."
  141. SELFTEST.Print
  142. End Sub
  143. Sub menuTest_Click ()
  144.    Dim I, N As Integer
  145.    Dim Code As Integer
  146.    Dim Count As Integer
  147.    Dim TimeMark As Long
  148.    Dim TestLength As Integer
  149.    'begin test run
  150.    SELFTEST.Cls
  151.    RunNumber = RunNumber + 1
  152.    SELFTEST.Print "TESTING: COM"; 1 + The1stPort; " ==> COM"; 1 + The2ndPort
  153.    SELFTEST.Print "Run #"; RunNumber
  154.    'check ports
  155.    If (The1stPort = COM1) And (The2ndPort = COM3) Then
  156.      SELFTEST.Print "COM1 and COM3 share the same IRQ"
  157.      Exit Sub
  158.    End If
  159.    If (The1stPort = COM2) And (The2ndPort = COM4) Then
  160.      SELFTEST.Print "COM2 and COM4 share the same IRQ"
  161.      Exit Sub
  162.    End If
  163.    'turn on 1st port
  164.    Code = GoOnline(The1stPort)
  165.    If Code = 0 Then
  166.      Call ShutDown
  167.      Exit Sub
  168.    End If
  169.    'turn on 2nd port
  170.    If The1stPort <> The2ndPort Then
  171.      Code = GoOnline(The2ndPort)
  172.      If Code = 0 Then
  173.        Call ShutDown
  174.        Exit Sub
  175.      End If
  176.    End If
  177.    'test !
  178.    SELFTEST.Print
  179.    SELFTEST.Print "Test string = "; TestString
  180.    Call ShowConfig
  181.    SELFTEST.Print "[Test string will be sent 16 times]"
  182.    TestLength = Len(TestString)
  183.    SELFTEST.Print "  Sending: ";
  184.    For N = 1 To 16
  185.      SELFTEST.Print Right$(Str$(N), 3);
  186.      For I = 1 To TestLength
  187.        Code = SioPutc(The1stPort, Asc(Mid$(TestString, I, 1)))
  188.        If Code < 0 Then
  189.          Call SayError(SELFTEST, Code)
  190.          Call ShutDown
  191.          Exit Sub
  192.        End If
  193.      Next I
  194.    Next N
  195.    SELFTEST.Print
  196.    SELFTEST.Print "Receiving: ";
  197.    TimeMark = Timer + 4
  198.    For N = 1 To 16
  199.      SELFTEST.Print Right$(Str$(N), 3);
  200.      For I = 1 To TestLength
  201.        Do
  202.          'try for incoming char
  203.          Code = SioGetc(The2ndPort)
  204.          If Code >= 0 Then
  205.            Exit Do
  206.          End If
  207.          'no incoming
  208.          If (Timer >= TimeMark) Or (Code <> WSC_NO_DATA) Then
  209.            SELFTEST.Print
  210.            If Code = WSC_NO_DATA Then
  211.              SELFTEST.Print "[Timeout waiting for incoming data]"
  212.            Else
  213.              Call SayError(SELFTEST, Code)
  214.            End If
  215.            'shut down now
  216.            Call ShutDown
  217.            Exit Sub
  218.          End If
  219.        Loop
  220.        'test incoming char
  221.        If Chr$(Code) <> Mid$(TestString, I, 1) Then
  222.          SELFTEST.Print
  223.          SELFTEST.Print "ERROR: Received "; Chr$(Code);
  224.          SELFTEST.Print ", but expected "; Mid$(TestString, I, 1);
  225.          SELFTEST.Print " for character #"; I
  226.          Call ShutDown
  227.          Exit Sub
  228.        End If
  229.      Next I
  230.    Next N
  231.    SELFTEST.Print
  232.    'clear buffers
  233.    Code = SioRxClear(The1stPort)
  234.    Code = SioTxClear(The1stPort)
  235.    If The1stPort <> The2ndPort Then
  236.      Code = SioRxClear(The2ndPort)
  237.      Code = SioTxClear(The2ndPort)
  238.    End If
  239.    'done
  240.    Call ShutDown
  241.    SELFTEST.Print "*** Test complete"
  242. End Sub
  243. Sub Uncheck1stComPorts ()
  244. 'uncheck all COM ports
  245. menu1stCOM1.Checked = False
  246. menu1stCOM2.Checked = False
  247. menu1stCOM3.Checked = False
  248. menu1stCOM4.Checked = False
  249. End Sub
  250. Sub Uncheck2ndComPorts ()
  251. 'uncheck all COM ports
  252. menu2ndCOM1.Checked = False
  253. menu2ndCOM2.Checked = False
  254. menu2ndCOM3.Checked = False
  255. menu2ndCOM4.Checked = False
  256. End Sub
  257.